package model

import (
	"shop/common/global"
	"time"
)

type Goods struct {
	Id         uint32    `gorm:"column:id;type:int(10) UNSIGNED;primaryKey;not null;" json:"id"`
	CreateTime time.Time `gorm:"column:create_time;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"create_time"`
	UpdateTime time.Time `gorm:"column:update_time;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"update_time"`
	Title      string    `gorm:"column:title;type:varchar(255);comment:商品简介;default:NULL;" json:"title"`                        // 商品简介
	Image      string    `gorm:"column:image;type:varchar(255);comment:商品封面;default:NULL;" json:"image"`                        // 商品封面
	GoodPrice  float64   `gorm:"column:good_price;type:decimal(10, 2);comment:商品价格;default:NULL;" json:"good_price"`            // 商品价格
	GoodStock  int32     `gorm:"column:good_stock;type:int(11);comment:商品库存;default:NULL;" json:"good_stock"`                   // 商品库存
	GoodStatus int32     `gorm:"column:good_status;type:int(11);comment:商品状态 1已上架 2未上架;not null;default:2;" json:"good_status"` // 商品状态 1已上架 2未上架
}

func (g *Goods) TableName() string {
	return "goods"
}
func (g *Goods) Find(id int) error {
	//根据商品id查询商品
	return global.DB.Model(Goods{}).Where("id = ?", id).First(&g).Error
}
func (g *Goods) UpdateGood() error {
	return global.DB.Model(&g).Where("id=?", g.Id).Update("good_stock", g.GoodStock).Error
}
